home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / cislib_a / dlist2.act < prev    next >
Text File  |  1995-04-22  |  5KB  |  1 lines

  1. ¢MODULE ;DLIST2.ACT¢¢;************************************¢;*This program is in the public     *¢;*domain and may not be sold by     *¢;*anyone for any reason.  It was    *¢;*written by:                       *¢;*       William T. Colburn         *¢;*       in February, 1987.         *¢;* CI$: 72337,322  GEnie:W.T.COLBURN*¢;*Please enjoy this demonstration   *¢;*program and share it with others! *¢;*Please keep this header with the  *¢;*program listing when you do so.   *¢;************************************¢;*           á¬áמנקחבדá¬á           *¢;*This program makes use of the     *¢;*routine ALLOCATE.ACT from the OSS *¢;*Action! Tool Kit.  ALLOCATE.ACT is*¢;*copywrited by OSS and is NOT in   *¢;*the public domain.  Therefore,    *¢;*ALLOCATE.ACT was not included with*¢;*DLIST2.ACT by the Author, and     *¢;*must NOT be added to it for public*¢;*distribution by any other user of *¢;*this demonstration program.       *¢;*The author of this routine refuses*¢;*to accept responsibility for this *¢;*type of unethical action by any   *¢;*users of my demonstration program.*¢;************************************¢¢CARD EndProg ;required for ALLOCATE.ACT¢¢; You áϕ⌡≤⌠á do a 'SET EndProg=*'¢; from the monitor áβµ⌠σ≥á compiling,¢; but áΓσµ∩≥σá running this program!¢¢INCLUDE "D8:ALLOCATE.ACT"; from the Action! Tool Kit¢¢MODULE ; My gloabl variables here.¢¢BYTE ARRAY dlist=  ; display list!¢            [¢             $22 ; length (34 bytes)¢             $70 $70 $70 ;24 overscan lines¢             $42 $00 $00 ;load address of static here.¢             $06 $06     ;two lines of Gr.1¢             $42 $00 $00 ;load savmsc+200 here.¢             $02 $02 $02 ;22 lines Gr. 0¢             $02 $02 $02¢             $02 $02 $02¢             $02 $02 $02¢             $02 $02 $02¢             $02 $02 $02¢             $02 $02¢             $41 $00 $00 ;load address of dlist+1 here.¢            ] ¢BYTE ARRAY static ; static 80 byte display, allocated with Alloc() from Action! tool kit.¢¢PROC dsply_list()¢   CARD savmsc=$58, ;contains low address of screen display¢        dlist_vector=$230, ; points to the display list¢        old_savmsc=[0], ; save the savmsc here.¢        temp_card=[0] ; temporary variable!¢   BYTE dma=559,  ; antic chip on/off address¢        crsinh=752, ;cursor on/off address¢        loop ; loop counter¢   BYTE POINTER dlist_ptr,; pointer to display list array.¢                save_dlist_ptr,¢                static_ptr ; pointer to static¢   dlist_ptr=dlist¢   save_dlist_ptr=dlist¢   save_dlist_ptr==+1¢   static=Alloc(81); allocate 81 bytes for 'static'.¢   FOR loop=1 TO 80¢      DO¢         static(loop)=0 ¢      OD¢   static(0)=80 ; set length of string¢   static_ptr=static ; set pointer¢   static_ptr==+1 ; point to entry #1.¢   Graphics(0)¢   old_savmsc=savmsc ; save start of screen adress¢   dlist_ptr==+5¢   dlist_ptr^=static_ptr-((static_ptr RSH 8) LSH 8)¢   dlist_ptr==+1¢   dlist_ptr^=static_ptr RSH 8 ;divide by 256!¢   dlist_ptr==+4¢   temp_card=old_savmsc+120¢   dlist_ptr^=temp_card-((temp_card RSH 8) LSH 8)¢   dlist_ptr==+1¢   dlist_ptr^=temp_card RSH 8¢   dlist_ptr==+22¢   dlist_ptr^=save_dlist_ptr-((save_dlist_ptr RSH 8) LSH 8)¢   dlist_ptr==+1¢   dlist_ptr^=save_dlist_ptr RSH 8 ;divide by 256!¢   dma=0 ; turn off the antic chip¢   dlist_vector=save_dlist_ptr; install the dlist vector¢   savmsc=old_savmsc; reset the screen starting address¢   dma=34 ; turn on the antic chip¢;**crsinh=1 ; kill cursor¢RETURN¢¢MODULE ; for user.¢¢PROC Main()¢   BYTE lmargn=$52,¢        dma=559, Answer=[0]¢   lmargn=3¢   PutE()¢   PutE()¢   PrintE("Did you do a: áצדקáד∈Σס≥∩τ©¬á")¢   PrintE("from the monitor after compiling")¢   PrintE("but before running this program?²²")¢   Print("Respond ך or מ...?")¢   Answer=GetD(7)¢   Put(Answer)¢   IF Answer='Y OR Answer='y THEN¢      Print("}")¢   ELSE¢      RETURN¢   FI¢   AllocInit(0); from ALLOCATE.ACT¢   dsply_list(); install display list¢   SetColor(2,10,3); pick your color¢   SAssign(static,"Çú∩∮Γ⌡≥∈Çÿìó⌐œüÇø∙≤⌠σϕ≤Ç",09,32)¢   SAssign(static,"≡≥∩µσ≤≤Θ∩∈β∮",45,56)¢   SAssign(static,"displayÇlistÇmanager",61,80)¢   Print("}") ; clear the screen¢   Position(3,4)¢   PrintE("See?  This is the display list!")¢   Position(3,7)¢   PrintE("This screen has a static display")¢   PrintE("on the first three lines of the")¢   PrintE("screen.  The rest scrolls.")¢   PrintE("The tricky part of all this is")¢   PrintE("that the characters in 'static'")    ¢   PrintE("which you want to display must be")¢   PrintE("in the internal Atari code because")¢   PrintE("they won't be translated!")¢   PrintE("<Or some such pain in the neck.>")¢   PrintE("To see scrolling, type 'E' and then")¢   PrintE("press RETURN to go back to the")¢   PrintE("editor.  The display list will")¢   PrintE("remain in place until you return")¢   PrintE("to the monitor or hit RESET.")¢   lmargn=0¢RETURN¢¢✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓